package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 签到二维码对象 basis_code
 *
 * @author ruoyi
 * @date 2025-03-03
 */
public class BasisCode extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 二维码ID */
    private Long codeId;

    /** 班级编码 */
    @Excel(name = "班级编码")
    private String classCode;

    /** 教师姓名 */
    @Excel(name = "教师姓名")
    private String teacherName;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String course;

    /** 签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签到时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startsign;

    /** 上课时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上课时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date start;

    /** 下课时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下课时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date end;

    /** 位置 */
    @Excel(name = "位置")
    private String location;

    public void setCodeId(Long codeId)
    {
        this.codeId = codeId;
    }

    public Long getCodeId()
    {
        return codeId;
    }
    public void setClassCode(String classCode)
    {
        this.classCode = classCode;
    }

    public String getClassCode()
    {
        return classCode;
    }
    public void setTeacherName(String teacherName)
    {
        this.teacherName = teacherName;
    }

    public String getTeacherName()
    {
        return teacherName;
    }
    public void setCourse(String course)
    {
        this.course = course;
    }

    public String getCourse()
    {
        return course;
    }
    public void setStart(Date start)
    {
        this.start = start;
    }

    public Date getStart()
    {
        return start;
    }

    public Date getStartsign() {
        return startsign;
    }

    public void setStartsign(Date startsign) {
        this.startsign = startsign;
    }

    public void setEnd(Date end)
    {
        this.end = end;
    }

    public Date getEnd()
    {
        return end;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("codeId", getCodeId())
            .append("classCode", getClassCode())
            .append("teacherName", getTeacherName())
            .append("course", getCourse())
            .append("start", getStart())
                .append("startsign", getStart())
            .append("end", getEnd())
            .append("location", getLocation())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
